/* 
 * ClasseTransactionalTest.java
 * 
 * Data de criação: 11/08/2010
 * 
 * CORPORATIVO - MTE. 
 *
 */
package br.com.o2solutions.siso.service;

import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * Classe responsável por realizar o teste de persistencia sobre as entidades
 * mapeadas.
 * 
 * @author osvaldeir
 * @since 11/08/2010
 * 
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:/siso-serviceApplicationTestContext.xml")
public abstract class AbstractTestSupport {

	/**
	 * Metodo a ser executado antes de qualquer teste. Serve para carga de
	 * recursos externos, ... Sua implementação deve ser realizada no métod
	 * gancho <b>doSetUp</b>;
	 */
	@Before
	public final void setUp() throws Exception {
		doSetUp();
	}

	/**
	 * Método gancho que implementa os passos que devem ser realizados antes dos
	 * testes da classe.
	 * 
	 * @throws Exception
	 */
	public void doSetUp() throws Exception {

	}

	/**
	 * Método a ser executado após o término a execução de qualquer teste. Serve
	 * para limpeza de recursos inicializados normalmente pelo método anotado
	 * com @Before. Sua implementação deve ser realizada no método gancho
	 * <b>doTearDown</b>;
	 */
	@After
	public final void tearDown() throws Exception {
		doTearDown();
	}

	/**
	 * Método gancho que implementa os passos que devem ser realizados após os
	 * testes da classe.
	 * 
	 * @throws Exception
	 */
	public void doTearDown() throws Exception {

	}

}
